<?php
	/**
	 * Application manifest entry.
	 * @author IMP
	 */
	
	class ApplicationManifestEntry {
		private $file, $class, $parent, $name;
		
		public function __construct($name, File $file, $class, $parentClass){
			$this->name = $name;
			$this->file = $file;
			$this->class = $class;
			$this->parent = $parentClass;
		}
		
		public function getName(){
			return $this->name;
		}
		
		public function getFile(){
			return $this->file;
		}
		
		public function getClass(){
			return $this->class;
		}
		
		public function getParent(){
			return $this->parent;
		}
		
		public function load(){
			ClassLoader::load($this->parent);
			$pc = $this->parent;
			return call_user_func(array($pc, 'load'), $this->getFile(), $this->getClass());
		}
	}
?>